################################--EXAMPLE_1--################################

$ helm repo add traefik https://helm.traefik.io/traefik

$ helm repo update

$ helm show values traefik/traefik > /tmp/values.yaml

$ helm install --namespace=traefik traefik traefik/traefik --values=values.yaml

################################--EXAMPLE_2--################################

$ helm repo add jfrog https://charts.jfrog.io

$ helm repo update

$ kubectl create namespace artifactory

$ helm install my-artifactory-oss jfrog/artifactory-oss --version 107.71.10 --namespace artifactory

################################--EXAMPLE_3--################################

$ helm repo add bitnami https://charts.bitnami.com/bitnami

$ helm list
NAME    URL                               
bitnami https://charts.bitnami.com/bitnami

$ helm pull bitnami/airflow --version 16.2.0

$ helm install my-airflow bitnami/airflow --version 16.2.0

$ helm repo remove bitnami

################################--EXAMPLE_4--################################

$ helm pull airflow --version 16.2.0 --repo https://charts.bitnami.com/bitnami

$ helm pull airflow --version 16.2.0 --repo https://charts.bitnami.com/bitnami --untar=true

Here we created an directory with name of 'opt' in '/home/ubuntu/' path.
$ helm pull airflow --version 16.2.0 --repo https://charts.bitnami.com/bitnami --untar=true --untardir /home/ubuntu/opt

################################--EXAMPLE_5--################################

$ helm repo add bitnami https://charts.bitnami.com/bitnami

$ helm install my-nginx bitnami/nginx --version 15.9.0

$ helm list
NAME            NAMESPACE       REVISION        UPDATED                                 STATUS    CHART           APP VERSION
my-nginx        default         1               2024-01-23 14:01:55.21643788 +0000 UTC  deployed  nginx-15.9.0    1.25.3     

$ helm show values bitnami/nginx
$ helm show values bitnami/nginx > values.yaml

$ helm template my-nginx bitnami/nginx
$ helm template my-nginx bitnami/nginx > file.yml

$ kubectl get svc                                              
NAME         TYPE           CLUSTER-IP     EXTERNAL-IP    PORT(S)        AGE
my-nginx     LoadBalancer   10.97.243.43   10.97.243.43   80:32265/TCP   169m

In values.yaml file, change 'type: LoadBalancer' to 'type: NodePort' in "service" resource block, then save and close the values.yaml file.

$ helm upgrade my-nginx bitnami/nginx -f values.yaml

$ kubectl get svc
NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
my-nginx     NodePort    10.97.243.43   <none>        80:32265/TCP   172m

$ helm ls
NAME            NAMESPACE       REVISION        UPDATED                                 STATUS    CHART           APP VERSION
my-nginx        default         2               2024-01-23 16:52:05.175000332 +0000 UTC deployed  nginx-15.9.0    1.25.3     

$ helm history my-nginx
REVISION        UPDATED                         STATUS          CHART           APP VERSION       DESCRIPTION     
1               Tue Jan 23 14:01:55 2024        superseded      nginx-15.9.0    1.25.3            Install complete
2               Tue Jan 23 16:52:05 2024        deployed        nginx-15.9.0    1.25.3            Upgrade complete

$ helm rollback my-nginx 1
Rollback was a success! Happy Helming!

$ helm history my-nginx
REVISION        UPDATED                         STATUS          CHART           APP VERSION       DESCRIPTION     
1               Tue Jan 23 14:01:55 2024        superseded      nginx-15.9.0    1.25.3            Install complete
2               Tue Jan 23 16:52:05 2024        superseded      nginx-15.9.0    1.25.3            Upgrade complete
3               Wed Jan 24 11:01:13 2024        deployed        nginx-15.9.0    1.25.3            Rollback to 1

$ helm list
NAME            NAMESPACE       REVISION        UPDATED                                 STATUS    CHART           APP VERSION
my-nginx        default         3               2024-01-24 11:01:13.780803676 +0000 UTC deployed  nginx-15.9.0    1.25.3

Its rollback to 1st revision.
$ kubectl get svc
NAME         TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
my-nginx     LoadBalancer   10.97.243.43   <pending>     80:32265/TCP   21h

$ helm upgrade --set app=my-nginx-15.9.0 my-nginx bitnami/nginx
Release "my-nginx" has been upgraded. Happy Helming!
NAME: my-nginx
LAST DEPLOYED: Wed Jan 24 13:25:49 2024
NAMESPACE: default
STATUS: deployed
REVISION: 4
TEST SUITE: None
NOTES:
CHART NAME: nginx
CHART VERSION: 15.9.0
APP VERSION: 1.25.3

$ helm upgrade --set app=my-nginx-15.9.0 my-nginx bitnami/nginx -f values.yaml
Release "my-nginx" has been upgraded. Happy Helming!
NAME: my-nginx
LAST DEPLOYED: Wed Jan 24 13:27:09 2024
NAMESPACE: default
STATUS: deployed
REVISION: 5
TEST SUITE: None
NOTES:
CHART NAME: nginx
CHART VERSION: 15.9.0
APP VERSION: 1.25.3

$ helm upgrade --set app=my-nginx-15.9.0 my-nginx bitnami/nginx -f values.yaml --recreate-pods
Release "my-nginx" has been upgraded. Happy Helming!
NAME: my-nginx
LAST DEPLOYED: Wed Jan 24 14:57:51 2024
NAMESPACE: default
STATUS: deployed
REVISION: 6
TEST SUITE: None
NOTES:
CHART NAME: nginx
CHART VERSION: 15.9.0
APP VERSION: 1.25.3

$ helm ls
NAME            NAMESPACE       REVISION        UPDATED                                 STATUS    CHART           APP VERSION
my-nginx        default         6               2024-01-24 14:57:51.907796749 +0000 UTC deployed  nginx-15.9.0    1.25.3

$ helm history my-nginx
REVISION        UPDATED                         STATUS          CHART           APP VERSION       DESCRIPTION     
1               Tue Jan 23 14:01:55 2024        superseded      nginx-15.9.0    1.25.3            Install complete
2               Tue Jan 23 16:52:05 2024        superseded      nginx-15.9.0    1.25.3            Upgrade complete
3               Wed Jan 24 11:01:13 2024        superseded      nginx-15.9.0    1.25.3            Rollback to 1   
4               Wed Jan 24 13:25:49 2024        superseded      nginx-15.9.0    1.25.3            Upgrade complete
5               Wed Jan 24 13:27:09 2024        superseded      nginx-15.9.0    1.25.3            Upgrade complete
6               Wed Jan 24 14:57:51 2024        deployed        nginx-15.9.0    1.25.3            Upgrade complete

$ helm rollback my-nginx
Rollback was a success! Happy Helming!

$ helm ls
NAME            NAMESPACE       REVISION        UPDATED                                 STATUS    CHART           APP VERSION
my-nginx        default         7               2024-01-24 18:15:39.843299076 +0000 UTC deployed  nginx-15.9.0    1.25.3

$ helm history my-nginx
REVISION        UPDATED                         STATUS          CHART           APP VERSION       DESCRIPTION     
1               Tue Jan 23 14:01:55 2024        superseded      nginx-15.9.0    1.25.3            Install complete
2               Tue Jan 23 16:52:05 2024        superseded      nginx-15.9.0    1.25.3            Upgrade complete
3               Wed Jan 24 11:01:13 2024        superseded      nginx-15.9.0    1.25.3            Rollback to 1   
4               Wed Jan 24 13:25:49 2024        superseded      nginx-15.9.0    1.25.3            Upgrade complete
5               Wed Jan 24 13:27:09 2024        superseded      nginx-15.9.0    1.25.3            Upgrade complete
6               Wed Jan 24 14:57:51 2024        superseded      nginx-15.9.0    1.25.3            Upgrade complete
7               Wed Jan 24 18:15:39 2024        deployed        nginx-15.9.0    1.25.3            Rollback to 5
